package cn.kpi.dao.usualassessment;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.kpi.common.persistence.MyBatisDao;
import cn.kpi.entity.usualassessment.UsAssTempCreateIndexEntity;
import cn.kpi.entity.usualassessment.UsAssTemplateEntity;
import cn.kpi.entity.usualassessment.UsAssTemplateIndexEntity;

@MyBatisDao
public interface UsAssTemplateDao {
public int InsertTemplateEntity(UsAssTemplateEntity entity)throws Exception;
public int InsertTemplateIndexentity(UsAssTemplateIndexEntity entity)throws Exception;
public int UpdateParentscore(@Param("assindexid") Long assindexid,@Param("score") int score)throws Exception;
public List<UsAssTemplateIndexEntity> GetTemplateIndexListByWhere(@Param("where") String where)throws Exception;
public List<UsAssTemplateIndexEntity> GetTemplateIndexListRowSpan()throws Exception;
public List<UsAssTemplateIndexEntity> GetTemplateIndexListRowSpanByTempId(@Param("templateid") Long templateid)throws Exception;

public int InsertTempCreateIndexBatch(List<UsAssTempCreateIndexEntity> list)throws Exception;
public List<UsAssTemplateEntity> GetUsAssTemplateListByWhere(@Param("where") String where)throws Exception;
public int GetUsAssTemplateListCountByWhere(@Param("where") String where)throws Exception;
public int DeleteUsTempCreateIndexEntity(Long templateid)throws Exception;
public int DeleteUsTempEntity(Long templateid)throws Exception;
public List<UsAssTempCreateIndexEntity> GetTemplateCreateIndexListRowSpan(Long templateid)throws Exception;
public int UpdateTempCreateIndexBatch(List<UsAssTempCreateIndexEntity> list)throws Exception;
public int UpdateUsAssTempEntity(UsAssTemplateEntity entity)throws Exception;
public UsAssTemplateEntity GetUsAssTemplateListById(Long templateid)throws Exception;

public List<UsAssTempCreateIndexEntity> GetIndexListByWhere(@Param("where") String where)throws Exception;
public int GetIndexListCountByWhere(@Param("where") String where)throws Exception;
public int DeleteIndex(@Param("assindexid") Long assindexid,@Param("parentid") Long parentid)throws Exception;
public int UpdateIndex(UsAssTemplateIndexEntity entity)throws Exception;
public UsAssTemplateIndexEntity GetIndexById(@Param("assindexid") Long assindexid)throws Exception;

public List<UsAssTemplateIndexEntity> GetTemplateIndexListRowSpanByTempIdAndWhere(@Param("templateid") Long templateid,@Param("where") String where)throws Exception;

}
